Crypt::OpenPGP is a pure-Perl implementation of the OpenPGP
standard. In addition to support for the standard itself,
Crypt::OpenPGP claims compatibility with many other PGP
implementations, both those that support the standard and those that
preceded it.

Crypt::OpenPGP provides signing/verification, encryption/decryption,
keyring management, and key-pair generation; in short it should
provide you with everything you need to PGP-enable yourself.
Alternatively it can be used as part of a larger system; for example,
perhaps you have a web-form-to-email generator written in Perl, and
you'd like to encrypt outgoing messages, because they contain
sensitive information. Crypt::OpenPGP can be plugged into such a
scenario, given your public key, and told to encrypt all messages;
they will then be readable only by you.

This module currently supports RSA and DSA for digital signatures, and
RSA and ElGamal for encryption/decryption. It supports the symmetric
ciphers 3DES, Blowfish, IDEA, Twofish, CAST5, and Rijndael (AES).
Rijndael is supported for key sizes of 128, 192, and 256 bits.
Crypt::OpenPGP supports the digest algorithms MD5, SHA-1, and
RIPE-MD/160. And it supports ZIP and Zlib compression.
